package com.xoa.dao.work;

import com.xoa.model.flowRunFeedback.FlowRunFeedback;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface WorkMapper {
    void createTable(Map<String,Object> map);

    void createSequence(Map<String,Object> map);

    int insert(Map<String,Object> map);

    Map<String,Object> select(Map<String,Object> map);

    int update(Map<String,Object> map);
    
    void addcolumn(Map<String,Object> map);

    List<String> showColumns(Map<String,Object> map);

    Map<String,Object>  selectColumns(Map<String,Object> map);

    void createTableList(Map<String,Object> map);

    void deWork(Map<String,Object> map);

    List<Map<String,Object>> getFlowData(Map<String,Object> map);

    List<FlowRunFeedback> selectPrcsIdFeedbackContent(Map map);

    //获得指定字段的值
    Map<String,Object> getDataValue(@Param("dataList") List<String>dataList,
                              @Param("runId") Integer runId,@Param("tableName") String tableName);

    //修改指定字段的值
    int updateDataValue(@Param("setSql") String setSql,@Param("tableName") String tableName,
                        @Param("runId") Integer runId);

    String selectData(@Param("runId") Integer runId,@Param("tableName") String tableName);

    List<String> selectSort(Map<String, Object> map);

    List<Map<String, Object>> selectAllBySort(Map<String, Object> map);

    List<Map<String, String>> getHistoryFlowRunDatas(@Param("tableName") String tableName,@Param("itemId") String itemId,@Param("searchValue") String searchValue);

    int modifyColumn(Map<String,Object> map);

    int truncate(@Param("tableName")String tableName);

    List<String> unUseNo(@Param("tableName") String tableName,@Param("column") String column);

    List<Map<String,String>> UseNo(@Param("tableName") String tableName,@Param("column") String column);

    String selectDatas(@Param("runId") Integer runId,@Param("tableName") String tableName,@Param("dataNum") String dataNum);


    List<Map<String,String>> selectflowRunPage(Map<String, Object> map);

    int selectflowRunPagecounts(Map<String, Object> map);
}
